home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / vbcred1a / ccredits.cls next >
Text File  |  1999-08-28  |  2KB  |  75 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "cCredits"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. ' Array of colours (For fading)
  15. Private C(5) As Long
  16. ' Y position
  17. Public PosY As Long
  18.  
  19. Private Sub Class_Initialize()
  20.     ' Loop to end of colours array
  21.     For i = 0 To UBound(C)
  22.         ' Greyscale from black to white
  23.         C(i) = RGB(i * 51, i * 51, i * 51)
  24.     Next i
  25. End Sub
  26.  
  27. Public Sub Move(Amt As Long)
  28.     ' Move the position by Amt
  29.     PosY = PosY + Amt
  30. End Sub
  31.  
  32. Public Sub Draw(hDC As Long, SWidth As Long, SHeight As Long)
  33.     If PosY = 0 - (14 * (UBound(Strings) + 1)) Then PosY = SHeight
  34.             
  35.     For i = 0 To UBound(Strings)
  36.         If (i * 14) + PosY < 0 Then
  37.             n = (i * 14) + PosY
  38.             n = -Int(n)
  39.             Select Case n
  40.                 Case 1:
  41.                     SetTextColor hDC, C(5)
  42.                 Case 2:
  43.                     SetTextColor hDC, C(4)
  44.                 Case 3:
  45.                     SetTextColor hDC, C(3)
  46.                 Case 4:
  47.                     SetTextColor hDC, C(2)
  48.                 Case 5:
  49.                     SetTextColor hDC, C(1)
  50.                 Case Else:
  51.                     SetTextColor hDC, C(0)
  52.             End Select
  53.         ElseIf ((i + 1) * 14) + PosY > SHeight Then
  54.             n = ((i + 1) * 14) + PosY - SHeight
  55.             Select Case n
  56.                 Case 1:
  57.                     SetTextColor hDC, C(5)
  58.                 Case 2:
  59.                     SetTextColor hDC, C(4)
  60.                 Case 3:
  61.                     SetTextColor hDC, C(3)
  62.                 Case 4:
  63.                     SetTextColor hDC, C(2)
  64.                 Case 5:
  65.                     SetTextColor hDC, C(1)
  66.                 Case Else:
  67.                     SetTextColor hDC, C(0)
  68.             End Select
  69.         Else
  70.             SetTextColor hDC, C(5)
  71.         End If
  72.         TextOut hDC, SWidth / 2, (i * 14) + PosY, Strings(i), Len(Strings(i))
  73.     Next i
  74. End Sub
  75.